Annotation 사용하기 :: 자주 쓰이는 메소드및 API 를 정리합니다.[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자주 쓰이는 메소드및 API 를 정리합니다.
[1]
등록일:2008-03-12 10:41:03 (0%)
작성자:
제목:Annotation 사용하기


JDK  1.5  부터  annotation  을  사용할  수  있도록  되었습니다.  annotation  은  영어  사전을  찾아보면

주석  이라도  되어있군요.

  

자바에서  주석은

  

//  의    한줄  주석과,  /*        */    의  여러줄  주석  그리고  /**        */  의  java  document  를  만들  수  있는  주석이  있습니다.

  

그러니까  이러한  주석과  번역은  주석  이라고  되더라도  annotation  은  다른것  입니다.^^

위의  것들은  comment  라고  하나요??

  

하여튼  먼저  annotation  의  사용법을  보면

  

@Annotation    이렇게  사용합니다.  앞에  @  마크가  붙습니다.

  

예전에  document  주석내에서  많이  보던것과  유사하죠.

  

/**

    @author  저자명

*/

  

이런식의  주석이  있었습니다.

  

annotation  은  프로그램  코드의  관점에서  보면  그냥  설명  입니다.  즉  코드에  수행에  영향을  미치치  않습니다.

annotation  은  프로그램의  metadata  를  기술한다고  하는데  이는  프로그램에  대한  부연설명,  덧붙이는말

이  되겠습니다.  annotation  은  compiler  나  외부  툴들에게  프로그램에  대한  부가적인  설명을  제공하는데  사용됩니다.

  

사용예를  보겠습니다.

  

프로그램을  작성하고  컴파일하면  deprecated  메소드라는  경고문구가  나오는  경우가  있습니다.

이는  사용하려고  하는  메소드가  앞으로  더  이상  지원되지  않으므로  사용하지  말라는  내용입니다.

물론  이런  경고가  나오는  시점에서는  사용할  수  는  있지만  언제  없어질지  모르는  경우죠.

반드시  대체할  수  있는  메소드나  방법을  찾아보아야  겠습니다.

  

그럼  이제  자신이  만든  메소드가  오래되어서  새로운  버전이  만들어지고  이것을  사용하는  사람들에게

구버전은  사용하지  말도록  deprecate  메세지를  컴파일시  보이고  싶을때  어떡할까요..

  

이때  @Deprecated  annotation을  사용하면  됩니다

  

/**

    @deprecated  더이상  지원되지  않는  메소드  입니다.

  */

@Deprecated

public  void  myOldMethod()  {

}

  

이렇게  선언을  하면  컴파일시  위의  메소드를  사용할때  경고를  보여줍니다.  주석안의  @deprecated  와  차이점을

@Deprecated  처럼  대문자로  시작한다는  것입니다.

  

또  다른  하나를  보겠습니다.

  

클래스를  상속  받아서  상위클래스의  메소드중하나를  오버라이드  하는경우  입니다.

  

//  상위  클래스

public  class  Parent  {

    public  void  parentMethod()  {

    }

}

  

//  하위  클래스

public  class  Child  extends  Parent  {

    public  void  parentmethod()  {

    }

}

  

이처럼  상위의  parentMethod  를  오버라이드할  경우  parentmethod로  소문자로  적어서  오버라이드가  되는게  아니라

새로운  메소드가  되어버리는  실수를  할  수  가  있습니다.

이럴경우  @Override    annotation  을  사용할  수  있습니다.

  

@Override

pubilc  void  paranemethod()  {

}

  

이렇게  정의를  하면  컴파일시  parentmethod  가  상위  메소드를  오버라이드  하는것이라고  컴파일러에게  알리게  됩니다.

하지만  대소문자를  잘못적었기  때문에  오버라이드가  아니므로  컴파일러가  오류를  보여주게  됩니다.

  

이처럼  annotation  은  컴파일러  같은  외부툴들에게  프로그램의  부가적인  정보를  알려주기  위해서  사용됩니다.

또다를  사용처는  EJB3.0  에서는  빈의  특성을  컨테이너에게  알리는데  annotation을  사용합니다.

전에는  빈의  특성을  xml  파일로  작성을  해야만  했습니다.

  

이렇게  미리  만들어져  있는  annotation  도  있고

사용자가  직접  annotation을  정의할  수도  있습니다.

더  자세한  것들은  다음  기회에  적도록  하겠습니다.^^
[본문링크] Annotation 사용하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=2529
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.